// 1. createStore 用来创建全局状态的方法
import { legacy_createStore as createStore } from 'redux'

// 2. 创建一个 reducer,一个状态管理仓库就是一个 reducer
// reducer 中有两个参数
// 参数一：是 state,该 state 就是我们的全局状态
// 参数二：action 是动作，里面有两个东西，第一个是 type 就是我们要做的事情
//        第二个是 payload 是我们要修改的值
const reducer = (state = {
    // 这里放的就是全局数据
    count: 100
}, action) => {
    // type 就是要做什么事情的标记
    // payload 就是事要怎么做的标记
    const { type, payload } = action


    // 修改数据的方法
    switch (type) {
        case 'add':

            return { ...state, count: state.count + 1 }
        case 'addNum':

            return { ...state, count: state.count + payload }

        default:
            return state
    }
}

// 3. 通过 createStore 来创建一个状态管理器
const store = createStore(reducer)

// 4. 将 store 导出去
export default store